/**
 * <p>Copyright:Copyright(c) 2019</p>
 * <p>Company:Professional</p>
 * <p>Package:com.cesgroup.zw.spring.boot.echarts.component.zoom</p>
 * <p>File:DataZoom.java</p>
 * <p>类更新历史信息</p>
 * @todo chanlong(陈龙) 创建于 May 13, 2019 1:18:50 PM
 */
package com.cesgroup.zw.spring.boot.echarts.component.zoom;

import com.cesgroup.zw.spring.boot.echarts.BasicComponent;
import com.cesgroup.zw.spring.boot.echarts.enums.FilterMode;
import com.cesgroup.zw.spring.boot.echarts.enums.Orient;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>描述: 区域缩放组件</p>
 * <p>Company: Professional</p>
 * @author chanlong(陈龙)
 * @date May 13, 2019 1:18:50 PM
 * @version 1.0.2019
 */
@Data @SuppressWarnings("serial")
@EqualsAndHashCode(callSuper = true)
public abstract class DataZoom extends BasicComponent {

	/** 组件ID */
	private String id;
	
	/** 组件类型 */
	private String type;
	
	/** 数据过滤模式 */
	private FilterMode filterMode;
	
	/** 设置组件控制的 x 轴 */
	private Object xAxisIndex;
	
	/** 设置组件控制的 y 轴 */
	private Object yAxisIndex;
	
	/** 设置组件控制的 angle 轴 */
	private Object angleIndex;
	
	/** 设置组件控制的 radius 轴 */
	private Object radiusIndex;
	
	/** 数据窗口范围的起始百分比，[default: 0] */
	private Integer start;
	
	/** 数据窗口范围的结束百分比，[default: 0] */
	private Integer end;
	
	/** 数据窗口范围的起始值，[default: null] */
	private Object startValue;
	
	/** 数据窗口范围的结束值，[default: null] */
	private Object endValue;
	
	/** 用于限制窗口大小的最小值，[default: null] */
	private Integer minSpan;
	
	/** 用于限制窗口大小的最大值，[default: null] */
	private Integer maxSpan;
	
	/** 用于限制窗口大小的最小值（实际数值），[default: null] */
	private Object minValueSpan;
	
	/** 用于限制窗口大小的最大值（实际数值），[default: null] */
	private Object maxValueSpan;
	
	/** 组件的布局方式，[default: null] */
	private Orient orient;
	
	/** 是否锁定选择区域（或叫做数据窗口）的大小，[default: false] */
	private Boolean zoomLock;
	
	/** 设置触发视图刷新的频率，单位为毫秒，[default: 100] */
	private Integer throttle;
	
	/** 例如 rangeMode: ['value', 'percent']，表示 start 值取绝对数值，end 取百分比，可选值为：'value', 'percent' */
	private String[] rangeMode;
}
